package org.summer.lawyer.domain.vo.message;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import org.summer.lawyer.domain.Message;
import io.swagger.v3.oas.annotations.media.Schema;
import org.summer.common.mybatis.core.domain.BaseEntitySearch;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.summer.common.excel.annotation.ExcelDictFormat;
import org.summer.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 站内消息视图对象 message
 *
 * @author summer
 * @date 2024-07-23
 */
@Schema(title ="站内消息视图对象 message", description = "站内消息视图对象 message")
@Data
@AutoMapper(target = Message.class)
public class MessageVo implements Serializable{

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 消息id
     */
    @Schema(title = "id", type = "Long", description = "消息id")
    private Long id;

    /**
     * 消息标题
     */
    @Schema(title = "title", type = "String", description = "消息标题")
    private String title;

    /**
     * 消息内容
     */
    @Schema(title = "msgContent", type = "String", description = "消息内容")
    private String msgContent;

    /**
     * 消息接收人Id
     */
    @Schema(title = "receiverId", type = "Long", description = "消息接收人Id")
    private Long receiverId;

    /**
     * 消息接收人姓名
     */
    @Schema(title = "receiverName", type = "String", description = "消息接收人姓名")
    private String receiverName;

    /**
     * 消息接收人头像
     */
    @Schema(title = "receiverAvatar", type = "String", description = "消息接收人头像")
    private String receiverAvatar;

    /**
     * 订单ID
     */
    @Schema(title = "orderId", type = "Long", description = "订单ID")
    private Long orderId;

    /**
     * 服务名称
     */
    @Schema(title = "spuName", type = "String", description = "服务名称")
    private String spuName;

    /**
     * 消息状态（0未读，1已读）
     */
    @Schema(title = "status", type = "String", description = "消息状态（0未读，1已读）")
    private String status;

    /**
     * 创建时间
     */
    @Schema(title = "createTime", type = "Date", description = "创建时间")
    private Date createTime;


    /**
     * 更新时间
     */
    @Schema(title = "updateTime", type = "Date", description = "更新时间")
    private Date updateTime;

    /**
     * 用于追踪的订单编号
     */
    @Schema(title = "trackingNumber", type = "String", description = "订单分派编号")
    private String trackingNumber;
}
